Software-Only Value Speculation Scheduling

نویسندگان

  • Chao-ying Fu
  • Matthew D. Jennings
  • Sergei Y. Larin
  • Thomas M. Conte
چکیده

Recent research in value prediction, including several recent publications for MICRO, shows a surprising amount of predictability for the values produced by register-writing instructions. Several hardware based value predictor designs have been proposed to exploit this predictability by eliminating flow dependencies for highly predictable values. A hardware and software based technique, value speculation scheduling (VSS), combines static instruction level parallelism (ILP) scheduling techniques with dynamic value prediction hardware. This paper extends the previous work on VSS to a software-only based scheme for VSS, which we will call software value speculation scheduling (SVSS). The advantages of SVSS are that no instruction set architecture (ISA) extensions and no value prediction hardware is required. Therefore, SVSS is applicable to existing microarchitectures such as Intel's P6, Digital's Alpha, Sun's UltraSparc and IBM/Motorola's PowerPC. As with VSS, static ILP scheduling techniques are used for SVSS to speculate value dependent instructions by scheduling them above the instructions whose results they are dependent on. For SVSS, compiler generated instructions are used to produce value predictions in place of the prediction hardware of 2 VSS. These predictions allow the execution of speculated instructions to continue. Again, in the case of miss-predicted values, control flow is redirected to patch-up code so that execution can proceed with the correct results. In this paper, experiments for applying SVSS to select load instructions in the SPECint95 benchmarks are performed. Speedup of up to 8% has been shown for using SVSS. Empirical results on the software-only value predictability of loads, based on value profiling data, are also provided.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Simultaneous Speculation Scheduling - A Technique for Speculative Dual Path Execution

Commodity microprocessors uniformly apply branch prediction and single path speculative execution to all kinds of program branches and suuer from the high misprediction penalty which is caused by branches with low prediction accuracy and, in particular, by branches that are unpredictable. The Simultaneous Speculation Scheduling (S 3) technique removes such penalties by a combination of compiler...

متن کامل

Modeling Value Speculation

Several studies of speculative execution based on values have reported promising performance potential. However, virtually all microarchitectures in these studies were described in an ambiguous manner, mainly due to the lack of formalization that defines the effects of value–speculation on a microarchitecture. In particular, the manifestations of value–speculation on the latency of microarchite...

متن کامل

FARMS: Efficient mapreduce speculation for failure recovery in short jobs

With the ever-increasing size of software and hardware components and the complexity of configurations, large-scale analytics systems face the challenge of frequent transient faults and permanent failures. As an indispensable part of big data analytics, MapReduce is equipped with a speculation mechanism to cope with run-time stragglers and failures. However, we reveal that the existing speculat...

متن کامل

Split Point Selection and Recovery for Value Speculation Scheduling

This paper extends previous work in value speculation scheduling [14] with an expanded ISA, new recovery code generation methods, and better instruction selection techniques. Our results show that critical instructions are not as predictable as non-critical instructions, instructions at the top of local critical paths have higher predictability than instructions in the middle, and that long-lat...

متن کامل

Performance potentials of compiler-directed data speculation

Compiler-directed data speculation has been implemented on Itanium systems to allow for a compiler 10 move a load across a store even when the two operations are potentially aliased This not only breaks data dependency to reduce critical path length, but also allows a load to be scheduled far apart from its uses to hide cache miss latencies. However, the effectiveness of data speculation is aff...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998